In an application required to have high reliability and high performance such as an online transaction processing system, when a computer system that uses a byte-addressable high-speed nonvolatile memory directly connectable to a memory bus of a processor, such as a magnetoresistive random access memory (MRAM), a phase change memory (PCM), or a memristor, as a main memory (persistent memory) is used and important data is stored in the main memory, data can be persisted. Thus, data can be persisted more quickly than the case in which data is stored in a hard disk or a solid state drive (SSD) like conventional systems, and it is possible to improve the performance of an application such as an online transaction processing database application.
In addition, since the transaction processing system is also required to have high reliability, a persistent data update processing method that ensures atomicity (a property of not ending in the middle of writing) in writing to a nonvolatile memory by a program executed on a processor and ordering is necessary.
However, with conventional techniques, it is difficult to achieve a sufficiently high-performance and high-reliability data persistence processing method.